"""
同步 ---> 有序 ---> 通常需要等待（阻塞）
异步 ---> 无序 ---> 通常不需要阻塞
"""
import asyncio


async def display(num):
    print(num)
    await asyncio.sleep(1)


# Pythonic代码
cos_list = [display(n) for n in range(1, 10)]
# print(cos_list)

loop = asyncio.get_event_loop()
# 事件循环对象的run_until_complete方法需要的参数是协程对象或者是任务对象（Task）
# 如果直接给协程对象，该方法会自动将协程对象处理成Task对象
# 通过asyncio模块的wait函数，将保存协程对象的列表转成一组任务对象
# 将多个协程对象对应的一组任务对象挂载到事件循环上
loop.run_until_complete(asyncio.wait(cos_list))
loop.close()
